<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<pre>Linux严格区分大小写
     Linux中所用内容以文件形式保存， 包括硬件
     Linux没有扩展名，不靠扩展名区分文件
     Windows下的程序不能直接在Linux中安装和运行       
</pre>
<pre>
	系统分区：主分区：最多只能分4个(其中最多只能包含一个扩展分区)；	
</pre>
<pre>
	格式化：NTFS支持更大的单个文件的写入
</pre>
<pre>
	Linux:/dev/下的文件包含了所有的硬件
	/dev/hda1(IDE硬盘接口)
	/dev/sda1(SATA硬盘接口最快)
</pre>
<pre>
	挂载（是分盘符的过程）
	挂载点（是盘符）
	/(根分区)
	swap分区（交换分区，内存的2倍）
	/boot(启动分区，200MB)
</pre>
<pre>
	一、命令的基本格式：
	[root@localhost ~]#
	root              当前登录用户                         
	localhost         主机名
	~                 当前所咋目录（家目录） 
	#                 超级用户的提示符
	                  普通用户的提示符是$
    命令 [选项][参数] 
    注意：个别命令使用不遵循此格式
           当有多个选项时，可以写在一起
           简化选项与完整选项
             -a等于--all               
</pre>
<pre style="color:blue">
	 -rw-r--r--
	 -文件类型（-文件d目录|软连接文件）
	 rw-       r--       r--
	 u所有者   g所属组   o其他人
	 r读 w写 x执行 
</pre>
<pre>
               查询目录中的内容:ls 
	ls [选项] [文件或目录]
	选项：
	     -a 显示所有文件，包含隐藏文件
	     -l  显示详细信息
	     -d  查看目录属性
	     -h  人性化显示文件大小
	     -i  显示inode
</pre>
<pre>
	             创建目录：mkdir
	   mkdir -p[目录名]
	   -p 递归创建
	   命令英文原意：make directories                        
</pre>
<pre>
	              切换所在目录：cd
	    cd [目录]
	      命令英文原意：change directory
	    简化操作
	    cd ~           进入当前用户的家目录
	    cd                  
	    cd -           进入上次目录
	    cd ..          进入上一级目录
	    cd .           进入当前目录              
</pre>
<pre>
	  相对路径：参照当前所在目录，进行查找
	  绝对路径：从根目录开始指定，一级一级递归查找。在任何目录下，都能进入指定位置  
</pre>
<pre>
	               查询所在目录位置:pwd
	   pwd 英文原意: print working directory            
</pre>
<pre>
	                删除空目录：rmdir
	   rmdir [目录名]
	   命令英文原意：remove empty directories
	                删除文件或目录：rm
	   rm -rf [文件或目录]
	   命令原意：remove
	   选项：
	      -r  删除目录
	      -f  强制
	   rm -rf /(禁止使用，会全部删除根目录文件)                             
</pre>
<pre>
	             复制命令：cp
	   cp[选项][原文件或目录][目标目录]
	   命令原意：copy
	   选项：
	       -r 复制目录
	       -p 连带文件属性复制
	       -d 若文件是链接文件，则复制连接属性
	       -a 相当于 -pdr                       			   	
</pre>
<pre>
	          剪切或改名命令：mv
	     mv [原文件或目录] [目标目录]
	     命令原意：move     	          			   	
</pre>
<pre>
	         常见目录的作用
	  / 根目录
	  /bin 命令保存目录（普通用户可用）
	  /boot 启动目录，启动相关文件
	  /dev 设备文件保存目录
	  /etc 配置文件保存目录
	  /home 普通用户的家目录（可创建文件和更改，其他目录不可以）
	  /lib 系统库保存目录
	  /mnt 系统挂载目录
	  /media 挂载目录
	  /root 超级用户的家目录
	  /tmp 临时目录
	  /sbin 命令保存目录（超级用户可用）
	  /proc 直接写入内存的
	  /sys
	  /usr 系统软件资源目录
	       /usr/bin/系统命令（普通用户）
	       /usr/sbin/系统命令（超级用户）
	   /var 系统相关文档内容          			   	
</pre>
<pre>
	           链接命令：ln
	   ln -s  [原文件] [目标文件]
	   命令原意：link
	   功能描述：生成链接文件
	        选项： -s 创建软链接          			   	
</pre>
<pre>
        硬链接特征：
        1、拥有相同的i节点和存储block块，可以看作是同一个文件
        2、可通过i节点识别
        3、不能跨分区
        4、不能针对目录使用
        软连接特征：(软链接创建是绝对路径)
        1、类似windows的快捷方式
        2、软链接拥有自己的I节点和Block块，但是数据块中只保存原文件的文件名和I节点号，并没有实际的文件数据
        3、lrwxrwxrwx l软链接（软连接的权限都为rwxrwxrwx）
        4、修改任意文件,另一个都改变
        5、删除原文件，软链接不能使用
</pre>
<pre>
	             文件搜索命令locate（只能搜文件名）
	     locate 文件名
	     在后台数据库中按文件名搜索，搜索速度更快

	     /var/lib/mlocate
	     #locate命令所搜索的后台数据库

	     updatedb
	     更新数据库（强制）

	     locate locate 快速查找locate数据库   

	                etc/updatedb，conf配置文件
	     PRUNE_BIND_MOUNTS='yes'
	     #开启搜索限制
	     PRUNEFS=
	     #搜索时不搜索的文件系统
	     PRUNENAMES=
	     #搜索时，不搜索的文件类型
	     PRUNEPATHS=
	     #搜索时，不搜索的路径                	                
</pre>

<pre>
	             命令搜索命令whereis与which
	    whereis 命令名
	    #搜索命令所在路径及帮助文档所在位置
	    选项：
	        -b:      只查找可执行文件
	        -m:      只查找帮助文件   
	     which  文件名
	     # 搜索命令所在路径及级别名   
         echo $PATH 显示系统搜索命令的路径
</pre>
<pre>
	             文件搜索命令find(全局搜，慢)
	             
         find [搜索范围] [搜索条件]
         #搜索文件
         
         find / -name install.log
         #避免大范围搜索，会非常耗费系统资源
         #find是在系统中搜索符合条件的文件名。如果需要匹配，使用通配符匹配，通配符是完全匹配
                  Linux中的通配符
          *      匹配任意内容
          ？     匹配任意一个字符
          []     匹配任意一个中括号内的字符
          find /root -iname install.log
          #不区分大小写
          find /root -user root
          #按照所有者搜索
          find /root -nouser
          #查找没有所有者的文件
          
          find /var/log/ -mtime +10
          #查找10天前修改的文件
          -10   10天内修改的文件
          10   10天当天修改的文件
          +10	10天前修改的文件
          atime  文件访问时间
          ctime  改变文件属性
          mtime  修改文件内容
          
          find  /root -size  25k 
          #查找文件大小于25kb的文件
          
          -25k    小于25kb的文件
          25k    等于25kb的文件
          +25k    大于25kb的文件
          
          find /root -inum 262422
          #查找I节点是262422的文件
          
         find /etc -size +20k -a -size -50k
         #查找/etc/目录下，大于20kb并且小于50kb的文件
         -a and  逻辑与，两个条件都满足
         -o or   逻辑或，两个条件满足一个即可
         
        find /etc -size +20k -a -size -50k -exec ls -lh {} \;
        #查找/etc/目录下,小于20kb并且小于50kb的文件，并显示详细信息
        #-exec/-ok 命令 {} \; 对搜索结果执行操作
                     	                
</pre>
<pre>
	             字符串搜索搜索命令grep	
	   grep [选项] 字符串 文件名
	   #在文件当中匹配符合条件的字符串
	   选项：
	      -i 忽略大小写
	      -v 排除指定字符串                          
</pre>
<pre>
	             find命令与grep命令的区别	 
	   find命令：在系统当中搜索符合条件的文件名,如果需要匹配，使用通配符匹配，通配符是完全匹配
	   
	   grep命令：在文件当中搜索符合条件的字符串，如果需要匹配，使用正则表达式进行匹配，正则表达式是包含匹配          	                            
</pre>
<pre>
                 帮助命令man(英文原意：manual)
        man 命令
        #获取指定命令的帮助
        
        man ls
        #查看ls的帮助
        
                 
                  man的级别
         1：    查看命令的帮助
         2：	查看可被内核调用的函数的帮助
         3：	查看函数和函数库的帮助
         4：    查看文件的帮助（主要是/dev目录下的文件）
         5：	查看配置文件的帮助
         6：	查看游戏的帮助	
         7：	查看其他杂项的帮助
         8：	查看系统管理员可用命令的帮助
         9：    查看内核相关文件的帮助
         
                查看命令拥有那个级别的帮助
          man -f 命令
          相当于
          whatis 命令
          
          举例：
          man -5 passwd
          man -4 null
          man -8 ifconfig
          
          			查看和命令相关的所有帮助
          man -k 命令
          相当于
          apropos 命令
          
          例如
          apropos  passwd
          			选项帮助
          命令 --help
          #获取命令选项的帮助
          
          例如
          ls --help
          			shell内部命令帮助
          help shell内部命令
          #获取shell内部命令的帮助
          
          例如:
          whereis cd
          #确定是否是shell内部命令
          help cd
          #获取内部命令帮助
          			详细命令帮助info
          info 命令
          - 回车：	进入帮助页面（带有*标记）
          - u：		进入上层页面
          - n:		进入下一个帮助小节
          - p:		进入上一个帮助小节
          - q:		退出	        										               
</pre>
<pre>
					关机和重启
		1.shutdown命令
		shutdown [选项] 时间(now)
		选项：
		-c:		取消前一个关机命令
		-h:		关机
		-r:		重启
		其他关机命令：hat
					  poweroff
					  init 0
		其他重启命令：reboot
					  init 6
		系统的运行级别：
		0 				关机
		1 				单用户
		2 				不完全多用户，不含NFS服务
		3 				完全多用户
		4 				未分配
		5 				图形界面
		6 				重启
		cat /etc/inittab
		#修改系统默认运行级别
		id：3：initdefault
		
		runlevel
		#查询系统运行级别
		退出登录命令:logout			  				  	
</pre>
<pre>
	            压缩命令
	常用压缩格式：.zip  .gz  .bz2     .tar.gz   .tar.bz2
	            .zip格式压缩
	 .zip 压缩文件名  源文件
	 #压缩文件

	 .zip -r 压缩文件名 源目录
	 #压缩目录

      unzip 压缩文件
      #解压缩.zip文件

                     .gz格式压缩
      gzip  原文件
      #压缩为.gz格式的压缩文件，原文件会消失

      gzip -c 原文件 > 压缩文件
      #压缩为.gz格式，源文件保留
      例如： gzip -c cangls > cangls.gz

      gzip -r 目录
      #压缩目录下所有的子文件，但是不能压缩目录
                      .gz格式解压缩
       gzip -d 压缩文件
       #解压缩文件

       gunzip 压缩文件
       #解压缩文件

                       .b2z格式压缩
       bzip2 原文件
       #压缩为.bz2格式，不保留源文件
       bzip2 -k 原文件
       #压缩之后保留原文件

       *注意：bzip2命令不能压缩目录

                        .bz2格式解压缩
        bzip2 -d 压缩文件
        #解压缩，-k保留压缩文件

        bunzip2 压缩文件
        #解压缩，-k保留压缩文件

</pre>
<pre>
					打包命令tar
		tar -cvf 打包文件名 原文件
		选项：
			-c:		打包
			-v:		显示过程
			-f:		指定打包后的文件安名
		例如：tar -cvf longzls.tar longzls
					解打包命令
		选项：
			-x:解打包
		例如：
		tar -xvf longzls.tar										
</pre>
<pre>
					.tar.gz压缩格式
		其实.tar.gz格式是先打包为.tar格式，再压缩为.gz格式
		
		tar -zcvf 压缩包名.tar.gz 源文件
		选项：
			-z:	压缩为.tzr.gz格式
		tar -zxvf 压缩包名.tar.gz
		选项：
			-x:	解压缩.tar.gz格式
</pre>
<pre>
					用户登录查看
		1.查看用户登录信息
		w 用户名
		命令输出：
		USER:登录的用户名
		TTY：登陆终端
		FROM：从哪个IP地址登录
		LOGIN@：登陆时间
		IDLE：用户闲置时间
		JCPU：和该终端连接的所有进程占用的时间
		PCPU：是指当前进程所占用的时间
		WHAT：当前正在运行的命令
		who	用户名
		命令输出：
		-用户名
		-登陆终端
		-登陆时间（登陆来源IP地址）
		            查询当前登录和过去登录的用户的信息
		last
		
		last命令默认是读取/var/log/wemp文件数据
		命令输出
		-用户名
		-登陆终端
		-登录IP
		-登陆时间
		-退出时间（在线时间）
					 查询所有用户的最后一次登录的时间
		lastlog
		
		lastlog命令默认是读取/var/log/lastlog文件内容
		命令输出
		-用户名
		-登陆终端
		-登录IP
		-最后一次登录时间			                           
</pre>
<hr>
<pre>
	                   SHELL是什么
	 1.Shell是一个命令解释器，它为用户提供一个向linux内核发送请求以便运行程序的界面系统级程序，用户可以用Shell来启动、挂起、停止甚至是编写一些程序
	   Shell还是一个功能相当强大的编程语言，易编写，易调试，灵活性较强。Shell是解释执行的脚本语言，在Shell中可以直接调用Linux系统命令

	   vi /etc/shells 查看支持的模式

	 2.echo 输出命令
      echo [选项][输出内容]
      选项：
      - -e:支持反斜线控制的字符转换（控制字符有：\a 输出警告音。\b 退格键，也就是向左删除键。\n 换行符。\r 回车键。\t 制表符，也就是Tab键。 \v 垂直制表符。\0nnn 按照八进制ASCII码表输出字符，其中0为数字零，nnn是三位八进制。\xhh 按照十六进制ASCII码表，其中hh是两位十六进制）
      echo -e "\e[1;31m 几人几个三\e[0m";
      #输出颜色
      	#30m=黑色，#31m=红色，#32m=绿色，#33m=黄色
      	#34m=蓝色，#35m=洋红，#36m=青色，#37m=白色
      3.第一个脚本
      vim hello.sh
      !/bin/bash
      The first program
      echo -e "\e[1;36m 天上掉下个林妹妹\e[0m"
      4.脚本执行
      赋予执行权限，直接运行
      chmod 755 hello.sh
      ./hello.sh
      通过Bash调用执行脚本
      bash hello.sh


</pre>
<pre>
						Bash的基本功能
		1.命名别名与快捷键
		查看与设定别名
		alias
		#查看系统中所有的命令别名
		alisa 别名='原命令'
		
		别名永久生效与删除别名
		
		vi ~/.bashrc
		#写入环境变量配置文件
		unalias 别名
		#删除别名
		
		命令生效顺序
		第一顺位执行绝对路径或相对路径执行的命令
		第二顺位执行别名
		第三顺位执行Bash的内部命令
		第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一命令
		
		常用快捷键
		ctrl+c		强制终止当前命令 
		ctrl+l		清屏
		ctrl+a		光标移动到命令行首
		ctrl+e		光标移动到命令行尾
		ctrl+u		从光标所在位置删除到行首
		ctrl+z		把命令放入后台
		ctrl+r		在历史命令中搜索	
		2.历史命令
		history [选项] [历史命令保存文件]
		选项：
			-c:清空历史命令
			-w:把缓存中的历史命令写入历史命令保存文件~/.bash_history
		历史命令的调用
		使用上，下箭头调用以前的历史命令
		使用"!n"重复执行第n条历史命令
      	使用"!!"重复执行上一条命令
      	使用"!字串"重复执行最后一条以该字串开头的命令
      	
      	命令与文件补全
      	*在Bash中，命令与文件补全是非常方便与常用的功能，我们只要在输入命令或文件时，按"Tab"键就会自动进行补全
      			
		3.输出重定向
		标准输出重定向   命令 > 文件   作用：以覆盖的方式，把命令的正确输出，输出到指定的文件或设备当中
						 命令 >> 文件  作用：以追加的方式，把命令的正确输出，输出到指定的文件或设备当中 
		
		标准错误输出重定向   	错误命令 2>文件   作用：以覆盖的方式，把命令的错误输出，输出到指定的文件或设备当中
						 		错误命令 2>>文件  作用：以追加的方式，把命令的错误输出，输出到指定的文件或设备当中
		正确输出和错误输出同时保存		命令 > 文件 2>&1	作用：以覆盖的方式，把正确输出和错误输出都保存在同一文件当中
									*	命令 >> 文件 2>&1	作用：以追加的方式，把正确输出和错误输出都保存在同一文件当中
										命令 &>文件			作用：以覆盖的方式，把正确输出和错误输出都保存在同一文件当中
									*	命令 &>>文件		作用：以追加的方式，把正确输出和错误输出都保存在同一文件当中
									*	命令>>文件1 2>>文件2	作用：把正确输出追加到文件1中，把错误输出追加到文件2中	    				 		 				 
		* &>/dev/null  把输出不保存
		
		输入重定向
		wc [选项] [文件名]
		选项：
			-c 统计字节数
			-w 统计单词数
			-l 统计行数
			
		命令<文件把文件作为命令的输入
		命令<<标识符
		...
		标识符把标识符之间内容作为命令的输入
			
		4.多命令顺序执行
		5.Shell中的特殊符号
						
</pre>
<pre>
	ctrl+l 清屏
	ll 是 ls -l 的别名    
</pre>
</body>
</html>
